package com.hengpeng.itfin.persist;

import java.util.Date;
import java.util.List;

import com.hengpeng.itfinbase.persist.VerifyCode;
import com.hengpeng.itfinbase.persist.VerifyCode.VerifyType;

/**
 * <pre>
 * 玩法信息管理持久层
 * </pre>
 * @author charles
 * @version 1.0, 2010-8-27
 */
public interface VerifyCodeDao
{
	/**
	 * <pre>
	 * 生成业务校验码
	 * </pre>
	 * @param type
	 * @param userName
	 * @param pastDate
	 * @return
	 */
	public VerifyCode create(String userName, VerifyType type, Date pastDate);

	/**
	 * <pre>
	 * 生成短信业务校验码
	 * </pre>
	 * @param type
	 * @param userName
	 * @param pastDate
	 * @return
	 */
	public VerifyCode createForSMS(String userName, VerifyType type, Date pastDate, String mobile);

	/**
	 * <pre>
	 *  通过投注卡号,类型 查找校验码实体
	 * </pre>
	 * @param userName
	 * @param type
	 * @return
	 */
	public List<VerifyCode> find(String userName, VerifyType type);

	/**
	 * <pre>
	 * 通过投注卡号,类型,校验码 查找校验码实体
	 * </pre>
	 * @param userName 用户名
	 * @param value 校验码的值
	 * @param type 类型
	 * @return
	 */
	public VerifyCode get(String userName, VerifyType type, String value);
}
